package com.uzai.console.service.alarm;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.alarm.alarmrule.AlarmRuleIdDto;
import com.uzai.console.dto.alarm.alarmrule.AlarmRuleInfoDto;
import com.uzai.console.dto.alarm.alarmrule.AlarmRuleQuery;
import com.uzai.console.dto.alarm.alarmrule.AlarmRuleSetStatusDto;
import com.uzai.console.vo.alarm.alarmrule.AlarmRuleInfoVo;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface AlarmRuleService {

    /**
     * 查询报警规则列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alarmRuleQuery
     * @return null
     */
    Page<AlarmRuleInfoVo> findAlarmRuleList(AlarmRuleQuery alarmRuleQuery);

    /**
     * 查询报警规则详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alarmRuleIdDto
     * @return null
     */
    AlarmRuleInfoVo findAlarmRuleInfo(AlarmRuleIdDto alarmRuleIdDto);

    /**
     * 添加报警规则
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alarmRuleInfoDto
     * @return null
     */
    void addAlarmRule(AlarmRuleInfoDto alarmRuleInfoDto);

    /**
     * 修改报警规则
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alarmRuleInfoDto
     * @return null
     */
    void updateAlarmRule(AlarmRuleInfoDto alarmRuleInfoDto);

    /**
     * 删除
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alarmRuleIdDto
     * @return null
     */
    void deleteAlarmRule(AlarmRuleIdDto alarmRuleIdDto);

    /**
     * 设置报警规则开启关闭
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param alarmRuleSetStatusDto
     * @return null
     */
    void setAlarmRuleStatus(AlarmRuleSetStatusDto alarmRuleSetStatusDto);

}
